package com.ruoyi.pims.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 健康基础数据对象 health_basic
 * 
 * @author ruoyi
 * @date 2025-05-16
 */
public class HealthBasic extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 记录日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "记录日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    /** 心率(bpm) */
    @Excel(name = "心率(bpm)")
    private Long heartRate;

    /** 收缩压(mmHg) */
    @Excel(name = "收缩压(mmHg)")
    private Long bloodPressureSystolic;

    /** 舒张压(mmHg) */
    @Excel(name = "舒张压(mmHg)")
    private Long bloodPressureDiastolic;

    /** 血糖(mmol/L) */
    @Excel(name = "血糖(mmol/L)")
    private BigDecimal bloodSugar;

    /** 睡眠时长(小时) */
    @Excel(name = "睡眠时长(小时)")
    private BigDecimal sleepHours;

    /** 体温(℃) */
    @Excel(name = "体温(℃)")
    private BigDecimal bodyTemperature;

    /** 测量时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "测量时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date measurementTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setRecordDate(Date recordDate) 
    {
        this.recordDate = recordDate;
    }

    public Date getRecordDate() 
    {
        return recordDate;
    }

    public void setHeartRate(Long heartRate) 
    {
        this.heartRate = heartRate;
    }

    public Long getHeartRate() 
    {
        return heartRate;
    }

    public void setBloodPressureSystolic(Long bloodPressureSystolic) 
    {
        this.bloodPressureSystolic = bloodPressureSystolic;
    }

    public Long getBloodPressureSystolic() 
    {
        return bloodPressureSystolic;
    }

    public void setBloodPressureDiastolic(Long bloodPressureDiastolic) 
    {
        this.bloodPressureDiastolic = bloodPressureDiastolic;
    }

    public Long getBloodPressureDiastolic() 
    {
        return bloodPressureDiastolic;
    }

    public void setBloodSugar(BigDecimal bloodSugar) 
    {
        this.bloodSugar = bloodSugar;
    }

    public BigDecimal getBloodSugar() 
    {
        return bloodSugar;
    }

    public void setSleepHours(BigDecimal sleepHours) 
    {
        this.sleepHours = sleepHours;
    }

    public BigDecimal getSleepHours() 
    {
        return sleepHours;
    }

    public void setBodyTemperature(BigDecimal bodyTemperature) 
    {
        this.bodyTemperature = bodyTemperature;
    }

    public BigDecimal getBodyTemperature() 
    {
        return bodyTemperature;
    }

    public void setMeasurementTime(Date measurementTime) 
    {
        this.measurementTime = measurementTime;
    }

    public Date getMeasurementTime() 
    {
        return measurementTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("recordDate", getRecordDate())
            .append("heartRate", getHeartRate())
            .append("bloodPressureSystolic", getBloodPressureSystolic())
            .append("bloodPressureDiastolic", getBloodPressureDiastolic())
            .append("bloodSugar", getBloodSugar())
            .append("sleepHours", getSleepHours())
            .append("bodyTemperature", getBodyTemperature())
            .append("measurementTime", getMeasurementTime())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
